Node-RED block in Snap4City Microservice library node-red-contrib-snap4city-developer is "full-text-search-dev">
It allows to retrieve the geolocated entities (not only services) that match with a list of keywords. The results can
be possibly filtered to be within a specified distance from a GPS position, or within a rectangular area or inside
a WKT geolocated area.
Inputs
A JSON with these parameters:
- selection
string
- “ <lat>; <lng>” with a GPS position or “ <lat1>; <lng1>; <lat2>; <lng2>” for a rectangular area
or “wkt: <WKT_string>” or “geo: <geoid>” for a geographic area described as Well Known Text
- search
string
- the keywords separated with spaces that have to match with any textual description associated with an entity.g
- maxdistance
number
- maximum distance from the GPS position of the services to be retrieved, expressed in Km (0.1 is used if parameter
is missing) if it is equal to “inside” it searches for services with a WKT geometry that contains the specified
GPS position (e.g a park)
- maxresults
number
- maximum number of results to be returned (if parameter is missing 100 is assumed), if it is 0 all results are returned
- lang
string
- ISO 2 chars language code (e.g. “it”, “en”, “fr”, “de”, “es”) to be used for returned descriptions if available in
multiple languages. Currently for languages other than “it” and “en” it returns “en” descriptions. (if parameter
is missing “en” is assumed)
- geometry
boolean
- true/false, if true it returns a “hasGeometry” property for each service stating if the service has a complex WKT
geometries (linestring, polygon) associated with it (if parameter is missing “false” is assumed)
Outputs
- the results format is a GeoJSON “FeatureCollection” with the matching entities, additionally the “fullCount” property
provides the full count of results available matching the query. For each “Feature” a minimal set of properties
are provided
Details
The node can receive a JSON with the parameters described in the Inputs section and with them generate the output JSON.
If the values are not present in the input JSON, these are read by those in the configuration. If they are not present
in either part, an error is generated for the necessary parameters.